Until recently, computer systems have primarily utilized single-ended buses and interfaces. Single-ended signaling involves varying voltage with respect to a reference voltage, which is sometimes referred to as “ground,” to signal a logical “1” or “0.” When running multiple signals with respect to the same ground, single-ended signaling provides a cost-effective solution as it only requires one wire per signal.
Despite being less expensive to integrate, there are downsides to single-ended signaling that limit its performance potential. For example, multiple signals sharing the same ground path can lead to crosstalk. Also, differences between ground path and signal path length, coupled with the higher current in the ground path due to signal return-current sharing, can lead to ground potential variations throughout the system. These variations in the reference potential then translate into signaling errors given that the signal potential does not similarly vary with the ground potential. And given that the signal and ground paths do not run in the same proximity to one another, noise injected on the signal path is not similarly injected on the ground path, making single-ended signaling more susceptible to noise. Consequently, in order to maintain a sufficient signal-to-noise ratio, the signal voltages must remain relatively high. High signal voltages require higher transmission power, ultimately limiting transmission distance. And even more importantly, the higher rise and fall times of the higher signal voltages limit interface speed and bandwidth. Given these disadvantages, the computer industry is slowly moving toward differential signaling.
Differential signaling involves the use of two equal-length wires or traces, where each wire carries a mirror of the signal on the other wire. Subtraction of these signals is used to signal a logical “1” or “0.” Since each pair of wires or traces uses its own return path, crosstalk among signals is minimized. Also, equal-length signal paths minimize relative potential differences, providing more consistent readings as path length is varied. Finally, the two wires or traces can be run close to one another, thereby allowing common-mode noise to be cancelled when the signals are subtracted. Given that differential signaling is less susceptible to noise, lower voltages can be used to save transmitting power and allow the use of longer paths or traces. Also, the lower voltages allow higher interface speed and bandwidth given the smaller rise and fall times of the signal.
Having acknowledged the advantages of differential signaling, the computer industry is beginning to shift from single-ended interfaces to differential interfaces. For example, while the latest single-ended PCI interface (e.g., PCI-X 533) offers a theoretical bandwidth of 4.3 GB/s, the sustained bandwidth has shown to be much more modest. Moreover, the speed (e.g., 533 MHz for PCI-X 533) and additional hardware (e.g., almost twice as many pins used in the 64-bit PCI-X interfaces compared to the 32-bit PCI interfaces) used in the PCI-X interface makes it very costly to implement. As such, although PCI and PCI-X were adequate for some time, the need for increased performance at a lower cost has spurred the transition to the latest, full-duplex PCI-Express interface that enables bandwidths up to 8 GB/s in a ×16 configuration. And in the future, higher speeds and wider configurations will offer even more bandwidth to accommodate expected computing needs.
However, the transition to differential signaling will not occur immediately, thereby requiring video card manufacturers to implement backward compatibility with single-ended peripherals. For example, manufacturers of video cards generally agree that differential frame buffer memory offers significant performance improvements over single-ended frame buffer memory, but realize that a market still exists for products with single-ended frame buffer memory since the transition to differential I/O is in its early stages. Thus, manufacturers desiring to capture both markets are forced to make separate video cards, with one line incorporating single-ended frame buffer memory and another line incorporating differential frame buffer memory. Additionally, if the manufacturer wants to offer products with different amounts of frame buffer memory to satisfy varying performance needs, the manufacturer must make additional products in each line. As such, it becomes extremely costly for a manufacturer to research, design, manufacture, and market a multitude of products to satisfy the demands of each market.
Thus, a need exists for a differential interface for frame buffer memory that does not significantly increase the cost or complexity of the products comprising or utilizing the interface. Also, a need exists for a way to vary the amount of either differential or single-ended frame buffer memory, without requiring a separate product for each amount or type of frame buffer memory. Moreover, the solution to this need should not significantly increase the cost or complexity of the product. The present invention provides novel solutions to these requirements.